#ifndef FICHERODISPERSO_H_
#define FICHERODISPERSO_H_

#include <cstdio>
#include <iostream>
#include <istream>
#include <fstream>
#include <cstring>
#include <cstdlib>
#include <string>

#include "libro.h"

#define FicheroLibros "libros.txt"
#define HashLibros "isbn.dat"
#define tamTabla 673
#define tamCubeta 2
using namespace std;


class ErrCubetaLlena{};
class ErrArchNoAbierto{};

//Definimos el tipo de dato
struct libro{
	char titulo[30];
	char autores[30];
	char editorial[30];
	int anyo;
	char ISBN[10];
	float precioActual;
        long int pos;
};



typedef struct{
	unsigned tam;
    libro datos[tamCubeta];
}TCubeta;


class FicheroDisperso{

	TCubeta Cubeta;
        fstream f;
        fstream fSaturada;

public:

	FicheroDisperso();
	~FicheroDisperso(){};
	bool insertar(Libro &dato);
	void crear();
	void cargar();
	bool buscar(string &clave,libro &dato);
        bool recorrer_AreaSaturada(int long pos,libro &dato,string &clave);

};
#endif
